package com.pro.util.dtoUtil;

import com.pro.dto.Dto;

/***
 *
 * 本类封装了DTO（数据传输对象），如需传输对象到前台，直接使用此类传输即可
 * 且该类中所有方法使用static修饰，不需要创建对象，直接使用类名即可调用方法
 *
 */
public class DtoUtil {
    /**
     *
     * 方法：returnSuccess : 请求执行成功返回
     * 参数：data
     * 返回值：DTO
     * boolean 判断 ：setSucces
     * */
    public static Dto returnSuccess(Object data){
        Dto dto = new Dto();
        dto.setSuccess(true);//boolean 判断成功
        dto.setCode(200); //请求成功后返回状态码 200
        dto.setData(data);// 动态传参
        return dto;
    }

    /**
     *
     * 方法：returnSuccess : 请求执行成功返回
     * 无参数返回：作用于请求执行后不需要传输数据
     * 返回值：DTO
     *
     * */
    public static Dto returnSuccess(){
        Dto dto = new Dto();
        dto.setCode(200); //请求成功后直接返回200
        return dto;
    }

    /**
     *
     * 方法：returnError : 请求执行失败返回
     * 参数：code : 动态传入具体的错误代码
     *      message : 动态传入具体的错误信息
     * 返回值：DTO
     *
     * */
    public static Dto returnError(int code,String message){
        Dto dto = new Dto();
        dto.setCode(code); //请求失败，动态获取错误状态码返回
        dto.setMsg(message);//动态获取错误信息返回

        return dto;
    }
    /**
     * 参数：code : 动态传入具体的错误代码
     * message : 动态传入具体的错误信息
     * 返回值：DTO
     * boolean 判断 ：setSucces
     **/
    public static Dto  returnError(String message,int code) {
        Dto dto = new Dto();
        dto.setSuccess(false);//boolean 判断失败
        dto.setCode(code); //请求失败，动态获取错误状态码返回
        dto.setMsg(message);//动态获取错误信息返回
        return dto;
    }

}
